package com.system.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.system.entity.dto.SearchDTO;
import com.system.entity.manage.SysPage;
import com.system.entity.manage.SysRolePage;
import com.system.entity.vo.RoleVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface SysPageDao extends BaseMapper<SysPage> {

    IPage<SysPage> selectPageList(Page page, @Param("dto") SearchDTO dto);


    /**
     * 获取用户关联角色的菜单
     *
     * @Author 佛冷
     * @Date 2020/5/26 10:52
     */
    List<SysPage> listPage(@Param("userId") Integer userId);


    /**
     * 获取角色已配置的菜单
     *
     * @Author 佛冷
     * @Date 2020/5/26 10:52
     */
    List<RoleVO> listRolePage(@Param("roleId") Integer roleId);

    /**
     * 获取角色未配置的菜单
     *
     * @Author 佛冷
     * @Date 2020/5/26 10:52
     */
    List<RoleVO> listNotRolePage(@Param("roleId") Integer roleId);

    /**
     * 批量插入角色权限关联
     *
     * @Author 佛冷
     * @Date 2020/5/26 13:55
     */
    int insertRolePageList(@Param("list") List<SysRolePage> list);
}
